package com.bysj.money_diary;
/** 
 * 修改图片的大小(从当前存在的位图，按一定的比例创建一个新的位图)<br> 
 * 方 法 名：createScaledBitmap(Bitmap bitmap, int iconWidth, int iconHeight, boolean filter) 
 * @param bitmap 用来构建子集的源位图 
 * @param iconWidth 新位图期望的宽度 
 * @param iconHeight 新位图期望的高度 
 * @param filter 未知 
 * @return Bitmap 一个新的按比例变化的位图。 
 */  
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.Date;

import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.util.Log;

public class ChangePic {
	public String changPic(String pic,String path){
		int size = 800;
		String newpic = "";
		Bitmap bb = null;
		String tag = null;
		try{//执行的代码，其中可能有异常。一旦发现异常，则立即跳到catch执行。否则不会执行catch里面的内容 
			Bitmap b = BitmapFactory.decodeFile(pic);//加载存储卡中的图片
			
			Log.i(tag, "b = " + b);
			int width = b.getWidth();
			int height = b.getHeight();
			if (width > size || height > size) {
				double bi = ((double) height / (double) width);
				bb = Bitmap
						.createScaledBitmap(b, size, (int) (bi * size), true);
				if (!SDrw.getSDPath().equals(null)
						&& !SDrw.getSDPath().equals("")) {
					File dir = new File(path);
					if (!dir.exists()) {
						dir.mkdirs();
					}
					Date date = new Date(System.currentTimeMillis());
					SimpleDateFormat dateFormat = new SimpleDateFormat(
							"yyyyMMddHHmmss");
					File newfile = new File(path + dateFormat.format(date)
							+ ".jpg");
					FileOutputStream out = new FileOutputStream(newfile);
					bb.compress(Bitmap.CompressFormat.JPEG, 70, out);
					newpic = newfile.getAbsolutePath();
				} else {
					newpic = "";
				}
			} else {
				newpic = pic;
			}
		}
		catch(FileNotFoundException e){//除非try里面执行代码发生了异常，否则这里的代码不会执行 
			e.printStackTrace();
		};
		
		return newpic;		
	}

}
